home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Popular Request
/
By Popular Request (Arsenal Computer)(SysOptics Distribution System).ISO
/
amiga3
/
oprefs20.lha
/
OberonPrefsOberonPrefs.dok
< prev
next >
Wrap
Text File
|
1993-10-20
|
38KB
|
887 lines
------------------------------------------------
OberonPrefs 2.0 (8.10.93) ⌐ F.Schwarz - Giftware
------------------------------------------------
Voreinsteller-Programm fⁿr Amiga-Oberon
⌐ 1993 & geschrieben von
Franz Schwarz
Mⁿhlenstra▀e 2, D-78591 Durchhausen,
BR Deutschland
Uucp: Franz_Schwarz@mil.ka.sub.org
Fido: 2:2476/506.18 & 2:241/7506.18
GUI erstellt mit Hilfe von GadToolsBox 37.176
OberonPrefs ist Giftware; d.h. Sie werden ermuntert,
dem Autor ein kleines Geschenk, Geld, eine Postkarte,
o.Σ. zu schicken, falls Sie das Programm verwenden.
Aus dem Inhalt
--------------
▄berblick ⁿber das Konzept von OberonPrefs
Installationshinweise
Die interaktive grafische Benutzerschnittstelle
-Gadgets
-Menⁿs
-Piktogramm-Ziehen ins Fenster
Kommandozeilen- und ToolTypes-Argumente
-Die Argument-Schablone
-Die Argumente im einzelnen
-Benutzerdefinierbare interaktive
Argument-Abfrage beim WB-Start
Programmende & Rⁿckgabewerte
Allgemeine Hinweise zum Programm
Vermeiden des VerΣnderns des Quelltextes
d.h. Anlegen/─ndern der OPREFS-Kopfzeile
Entwicklungsgeschichte
Schlu▀bemerkungen
Adresse des Autors
Credits, Danksagungen
Die CygnusEd-ARexx-Skripte
▄berblick ⁿber das Konzept von OberonPrefs
------------------------------------------
OberonPrefs ist die ErgΣnzung zum Amiga-Oberon-System, auf die Sie bestimmt
schon lange gewartet haben: Ein Σu▀erst flexibles, universelles,
intuitives Voreinsteller-Programm (Preferences-Editor), das neben einer
komfortablen grafischen BenutzeroberflΣche auch eine durchdachte
Shell-Schnittstelle (die im ⁿbrigen im vollen Umfang auch ⁿber
Workbench-ToolTypes erreicht werden kann) und die Anpassung an
verschiedene Landessprachen in Verbindung mit Commodore's locale.library ab
Workbench 2.1 aufwΣrts bietet.
Exkurs: Wie das Amiga-Oberon-System die Optionen einlie▀t:
Da im Handbuch nur unvollstΣndig wiedergegeben wird, wie Amiga-Oberon/
-OLink/ -OMake die aktuellen Compiler-/ Linker-Optionen bestimmen, hier
die genaue Vorgehensweise:
Zuerst werden die Programm-internen vorgegegebenen ('default') Optionen
herangezogen.
Diese Optionen werden durch eventuell in der Kommandozeile
spezifizierten Optionen -respektive durch die Workbench-ToolTypes des
aufgerufenen Werkzeugs (Oberon, OLink, OMake)- ⁿberschrieben.
Danach ersetzen Optionen aus den m÷glicherweise vorhandenen
Voreinstellungsdateien Oberon.prefs und und OLink.prefs im Verzeichnis des
zu bearbeitenden Projektes die bisherigen Optionen.
Schlie▀lich, falls die jeweilige Voreinstellungsdatei Oberon.prefs bzw.
OLink.prefs im Verzeichnis des zu bearbeitenden Projekts nicht gefunden
wurde, diese Voreinstellungsdatei jedoch im globalen Verzeichnis OBERON:
zu finden ist, treten die Optionen aus dieser Datei an Stelle der
bisherigen Optionen.
Um nun auf die unterschiedlichen Vorlieben und Konfigurationen der Anwender
des Amiga-Oberon-Systems eingehen zu k÷nnen, besitzt OberonPrefs die
M÷glichkeit, die Art, wie es die Optionen einlie▀t und schreibt,
weitestgehend dem Benutzer zu ⁿberlassen. Diese Einstellungen k÷nnen
selbstverstΣndlich ⁿber Kommandozeilen-/ ToolTypes-Parameter angegeben
werden, als auch als globale Einstellungen gespeichert und im interaktiven
Modus geΣndert werden.
OberonPrefs kennt grundsΣtzlich zwei verschiedene Betriebsmodi: einen
globalen Modus, in dem die globalen Voreinstellungen verΣndert werden, und
einen Projekt-Modus, in dem die Voreinstellungen der verschiedenen Projekte
und / oder einzelnen Oberon-Quelltext-Module verΣndert werden.
SelbstverstΣndlich besteht dabei die M÷glichkeit des gegenseitigen Imports
bzw. Exports der Voreinstellungen zwischen diesen Modi.
OberonPrefs bietet die M÷glichkeit, alle gegenwΣrtig (Amiga-Oberon 3.00)
bekannten Compiler- und Linker-Optionen zu manipulieren - im Projektmodus
auch diejenigen, die nur im Oberon-Quelltext-Modul angegeben werden k÷nnen,
aber gew÷hnlich fⁿr ein ganzes Modul gelten (CodeChip, VarsChip, DataChip,
Implementation).
Da die Benutzerschnittstellen (Interaktive grafische Schnittstelle,
Kommandozeilen-Schnittstelle und Workbench-ToolTypes-Schnittstelle) von
OberonPrefs so gestaltet wurden, da▀ sie den Richtlinien aus dem 'Amiga
User Interface Style Guide' fⁿr Voreinsteller-Programme weitestm÷glich
entsprechen, sollte die Bedienung fⁿr den mit Amiga-Voreinsteller-
Programmen (z.B. denjenigen, die zum Lieferumfang des Betriebssystems
im Verzeichnis System:Prefs geh÷ren) vertrauten Benutzer ziemlich intuitiv
sein. Unbekannt an der interaktiven grafischen Benutzerschnittstelle
dⁿrften jedoch das Konzept der zwei Operations-Modi (Global / Projekt) und
die vielfΣltigen Einstellungsm÷glichkeiten im Einstellungen-Menⁿ sein. Die
Kommandozeilen-/ ToolTypes-Schnittstelle wurde so erweitert, da▀ eine
m÷glichst vielfΣltige und flexible Verwendung von OberonPrefs in
Stapelverarbeitungsdateien und ARexx-Skripten m÷glich ist.
Installationshinweise:
----------------------
Die Installation ⁿbernimmt das Installationsskript. Es kopiert OberonPrefs
und die Dokumentation ins OBERON:-Verzeichnis, und speichert die Kataloge
aus dem catalogs-Verzeichnis ins LOCALE:-Verzeichnis, falls sie Workbench
2.1 oder h÷her installiert haben. Das Installationsskript installiert auf
Wunsch auch die CygnusEd-ARexx-Skripte, mit denen Sie Amiga-Oberon
komfortabel von CygnusEd aus steuern k÷nnen.
Falls Sie OberonPrefs hΣufig verwenden, sollten Sie in ihre S:User-Startup-
Datei den Befehl 'resident Oberon:OberonPrefs' einbauen.
Die interaktive grafische Benutzerschnittstelle:
------------------------------------------------
-------
Gadgets
-------
Au▀er den Gadgets, mit denen die verschiedenen Compiler-/ Linker-Optionen
eingestellt werden, und die hier nicht weiter beschrieben werden, da die
Bedeutungen der einzelnen Optionen im Handbuch ersch÷pfend erklΣrt sind,
sind normalerweise folgende Gadgets vorhanden:
Modus-Gadget - mit ihm wird der Operationsmodus eingestellt:
Global : die globalen Compiler-/ Linker-Optionen werden verΣndert.
Projekt: Projekt-/ Oberon-Quelltext-Modul-spezifische Optionen werden
verΣndert.
*1*
Projekt-Anzeige-Gadget - Im Projekt-Modus wird hier der Name des gerade
manipulierten Oberon-Quelltext-Moduls angezeigt. Falls der Gadget-Name
ein unterstrichenes Zeichen enthΣlt, wirkt ein Druck auf die entsprechende
Taste wie die Aktivierung des Datei-Gadgets.
Datei-Gadget - falls es aktiviert wird, erscheint ein
Datai-Auswahl-Eingabefeld (Filerequester), in dem ein neues Projekt
ausgewΣhlt werden kann. Wenn die Eingabe bestΣtigt wird, versucht
OberonPrefs, das Projekt zu ÷ffnen. Wird die selektierte Datei als
Oberon-Quelltext-Modul erkannt, dann springt OberonPrefs in den Projekt-
Modus und liest die zum Projekt geh÷rigen Optionen gemΣ▀ den
Einstellungen im Einstellungen-Menⁿ ein.
*1*
Speichern-Gadget - Falls im Projekt-Modus kein Dateiname angegeben
ist, erscheint zuerst ein Datei-Auswahl-Eingabefeld (Filerequester),
in dem das Projekt, fⁿr das die Optionen zu speichern
sind, eingegeben werden soll. Existiert die Datei nicht oder
ist sie kein Oberon-Quelltext-Modul, so wird der Vorgang abgebrochen.
Andernfalls / anschlie▀end werden die eingestellten Optionen nach Ma▀gabe
der Einstellungen im Einstellungen-Menⁿ abgespeichert, _ohne_ OberonPrefs
zu verlassen (Konzeptions-Entscheidung, wegen der zwei Operationsmodi und
der M÷glichkeit, verschiedene Projekt-Einstellungen zu manipulieren!).
Falls eines der Kommandozeilen-/ ToolTypes-Argumente OBERONOUT, OLINKOUT
oder OMAKEOUT angegeben wird, wird OberonPrefs dagegen nach dem
Abspeichern verlassen, da dann keine Umstellung des Operationsmodus /
des bearbeiteten Projektes m÷glich ist.
*2*
Abbrachen-Gadget - verlΣ▀t OberonPrefs ohne m÷gliche ─nderungen
abzuspeichern.
*1*
Benutzen-Gadget - Beendet OberonPrefs, ohne die gewΣhlten Optionen zu
speichern, gibt die gewΣhlten Optionen aber entsprechend des
vorhandenen #?OUT-Argumentes aus.
*3*
Schlie▀-Gadget - Funktion entspricht derjenigen des Abbrechen-Gadgets.
TastaturΣquivalent: ESC-Taste
ZoomGadget - verkleinert ('iconify') das Fenster von OberonPrefs resp.
setzt es zurⁿck auf seine ursprⁿngliche Gr÷▀e.
TastaturΣquivalent: 'Z'-Taste
Alle Gadgets, deren Titel ein unterstrichenes Zeichen aufweisen, k÷nnen
auch durch einen Druck auf die entsprechende Taste betΣtigt werden.
*1* : Ist nicht vorhanden, falls eines der Argumente OBERONOUT, OLINKOUT
oder OMAKEOUT beim Programmstart ⁿbergeben wird.
*2* : Ist nicht vorhanden, falls eine der Optionen OBERONOUT, OLINKOUT oder
OMAKEOUT in Verbindung mit NOSAVEGAD beim Programmstart ⁿbergeben
werden.
*3* : Ist nur vorhanden, falls eines der Argumente OBERONOUT, OLINKOUT
oder OMAKEOUT beim Programmstart ⁿbergeben wird.
-----
Menⁿs
-----
Projekt-Menⁿ:
Neu - Setzt die Optionen auf die programminternen ('Default') Werte
von Amiga-Oberon zurⁿck und l÷scht den Projektnamen, falls der
Projekt-Modus aktiv ist.
*1*
╓ffnen... - Die Funktion entspricht derjenigen des Datei-Gadgets.
*1*
Speichern Als... - ╓ffnet ein Datei-Auswahl-Eingabefeld (Filerequester),
speichert, wenn der Name eines existierenden Oberon-Quelltext-Moduls
eingegeben wurde, die eingestellten Optionen als Projekt-Optionen
dieses Projektes und springt in den Projekt-Modus falls der globale
Modus aktiv ist.
*1*
Global Speichern - Speichert die eingestellten Optionen als globale
Voreinstellungen und springt in den globalen Modus, falls der
Projekt-Modus aktiv ist.
*1*
Information... - ╓ffnet ein Informations-Fenster mit Angaben ⁿber
OberonPrefs.
In der letzten Zeile wird dabei der Code fⁿr die gegenwΣrtigen
Programm-Einstellungen im Einstellungen-Menⁿ angezeigt, der
nach ENVARC:OberonPrefs.prefs als Ganzzahl-String geschrieben
bzw. als SETTINGS/N/K-Argument beim Programmstart ⁿbergeben
werden kann, um die gegenwΣrtigen Programm-Einstellungen wieder
zu erhalten.
*1*
Beenden - Die Funktion entspricht derjenigen des Abbrechen-Gadgets.
Vorgaben-Menⁿ:
Auf Vorgaben Zurⁿcksetzen - setzt die Optionen auf die programminternen
('Default') Werte von Amiga-Oberon zurⁿck.
Auf Zuletzt Global Gespeichertes - setzt die Optionen auf die zuletzt
gespeicherten globalen Voreinstellungen (bzw. auf die programminternen
'Default'-Voreinstellungen des Amiga-Oberon-Systems, falls keine
globalen Voreinstellungen existieren).
Voreinstellungen Von Projekt... - ÷ffnet ein Datei-Auswahl-Eingabefeld,
und, liest, falls der Name eines existierenden Oberon-Quelltext-Moduls
eingegeben wurde, die Voreinstellungen aus diesem Projekt ohne
den Modus und / oder den Projektnamen zu Σndern.
Neu Einlesen - liest die Optionen neu ein (='Restore'-Funktion)
Einstellungen-Menⁿ:
Piktogramme Erzeugen? - falls aktiv erzeugt OberonPrefs Piktogramme
fⁿr Projekte, die keine Piktogramme besitzen. Die Piktogramm-Daten
werden dabei aus OBERON:Icons/txt.info zu lesen versucht, Falls das
nicht klappt, werden die Daten des Default-System-Projekt-Piktogramms
verwendet.
*1*
Vorgaben-Optionen Speichern? - falls aktiv werden beim Speichern der
Voreinstellungen auch diejenigen Optionen abgespeichert, die den
programminternen ('Default') Voreinstellungen von Amiga-Oberon
entsprechen.
*1*
Projekt-Einstellungen Lesen-Untermenⁿ:
Die Einstellungsm÷glichkeiten dieses Untermenⁿs beeinflussen, wie
OberonPrefs beim Einlesen der Voreinstellungen von Projekten vorgeht.
ZunΣchst kann der Benutzer zwischen vier verschiedenen Arten wΣhlen:
Modul & Prefs - falls aktiv liest OberonPrefs die Voreinstellungen
zuerst aus einer m÷glicherweise von OberonPrefs angelegten Kopf-
zeile am Anfang des Oberon-Quelltext-Moduls. Dabei werden
vorhandene, mit den Schlⁿsselworten OberonOpts / OLinkOpts versehene
Buchstaben-Optionen (entsprechen den Kommandozeilen-Optionen nach
'-') gelesen. Danach versucht OberonPrefs, Oberon.prefs-/
OLink.prefs-Voreinstellungsdateien heranzuziehen. Schlie▀lich werden
auch von OberonPrefs geschriebene Quelltextoptionen ($Option(+|-))
aus einer vorhandenen OberonPrefs-Kopfzeile aus dem
Oberon-Quelltext-Modul berⁿcksichtigt.
Modul (Ohne Buchst.-Optionen) & Prefs - entspricht aktivem
'Modul & Prefs' mit der Ausnahme, da▀ die hinter den Schlⁿsselworten
OberonOpts / OLinkOpts folgenden Buchstaben-Optionen beim Einlesen
ignoriert werden. Dies ist die programminterne ('Default')
Einstellung von OberonPrefs, da sie der normalen Vorgehensweise des
Amiga-Oberon-Systems entspricht.
Nur Modul - berⁿcksichtigt nur die Informationen aus einer OberonPrefs-
Kopfzeile am Anfang des Oberon-Quelltext-Moduls, einschlie▀lich
Buchstabenoptionen und Quelltextoptionen.
Nur Prefs - berⁿcksichtigt nur Informationen aus den Oberon.prefs /
OLink.prefs - Voreinstellungsdateien.
Weiterhin steht noch ein Schalter zur Verfⁿgung, der festlegt, wie die
(Oberon|OLink).prefs- Voreinstellungsdateien eingelesen werden:
Prefs: Global Lesen M÷glich? - falls aktiv versucht OberonPrefs bei
nicht vorhandenen Voreinstellungsdateien im Projekt-Verzeichnis,
die globalen Voreinstellungsdateien im Verzeichnis OBERON: zu lesen.
Dies entspricht der programminternen ('Default') Einstellung von
OberonPrefs, da auch das Amiga-Oberon-System so vorgeht.
Projekt-Einstellungen Schreiben-Untermenⁿ:
Mit den Menⁿpunkten dieses Untermenⁿs kann der Benutzer festlegen, wie
OberonPrefs beim Schreiben von Projekt-Voreinstellungen vorgeht. Folgende
Schalter sind vorhanden:
*1*
Stapelbare Optionen Als Quelltext? - falls aktiv schreibt OberonPrefs
auch diejenigen Optionen, die ⁿber Buchstaben-Optionen in der
Kommandozeile und die Voreinstellungsdateien eingestellt werden
k÷nnen und auch als Quelltext-Optionen dem Amiga-Oberon-System
bekannt sind, als Quelltextoptionen in die OberonPrefs-Kopfzeile des
Oberon-Quelltext-Moduls. Dies entsprach bis OberonPrefs 1.9 der
programminternen Voreinstellung von OberonPrefs. In den neueren
Versionen von OberonPrefs ist die programminterne Voreinstellung,
dies zu unterlassen.
*1*
Buchstaben-Optionen Schreiben? - falls aktiv schreibt OberonPrefs
die Buchstaben-Optionen fⁿr den Compiler- / Linker-Aufruf in die
OberonPrefs-Kopf-Zeile des Oberon-Quelltext-Moduls. Frⁿher war dies
programminterne Voreinstellung bis OberonPrefs 1.9; in den neueren
Programmversionen von OberonPrefs ist dieser Menⁿpunkt dagegen
aufgrund der programminternen Voreinstellung von OberonPrefs
deaktiviert.
*1*
Weiterhin kann mit diesem Untermenⁿ eine von vier Arten ausgewΣhlt werden,
wie OberonPrefs (Oberon|OLink).prefs-Voreinstellungsdateien beim Speichern
behandelt:
Prefs Mit Optionen Schreiben - falls aktiv schreibt OberonPrefs
die Voreinstellungsdateien mit den gewΣhlten Optionen ins Projekt-
Verzeichnis. (Programminterne Voreinstellung von OberonPrefs)
*1*
Leere Optionen Schreiben - falls aktiv schreibt OberonPrefs leere
Voreinstellungsdateien ins Projekt-Verzeichnis. Dies ist nⁿtzlich,
wenn das Amiga-Oberon-System ohne Berⁿcksichtigung der
(Oberon|OLink).prefs- Voreinstellungsdateien arbeiten soll, da
so verhindert wird, da▀ irgendwelche Informationen aus den
Voreinstellungsdateien, auch nicht aus den globalen im OBERON:-
Verzeichnis, verwendet werden.
*1*
Keine Prefs Schreiben - falls aktiv ignoriert OberonPrefs vorhandene
(Oberon|OLink).prefs- Voreinstellungsdateien im Projekt-Verzeichnis
und schreibt auch keine Voreinstellungsdateien. Nⁿtzlich, falls
nur die Optionen eines Oberon-Quelltext-Moduls im Projekt-Verzeichnis
geΣndert wurden, und diese ─nderungen nicht fⁿr die anderen
Oberon-Quelltext-Module im Projekt-Verzeichnis gelten sollen.
*1*
Prefs L÷schen - falls aktiv, l÷scht OberonPrefs vorhandene
Voreinstellungsdateien im Projektverzeichnis, und schreibt keine
solchen zurⁿck.
*1*
Schlie▀lich kann hier noch der Modus eingestellt werden, wie OberonPrefs
Options-ToolTypes von Projekt-Piktogrammen handhaben soll:
ToolTypes Schreiben - falls aktiv schreibt OberonPrefs die aktuellen
Optionen als ToolTypes in die Projekt-Piktogramme. Dies war
bis einschlie▀lich OberonPrefs 1.9 grundsΣtzlich der Fall. Falls
beim Programmstart ein 'alter' SETTINGS-Wert von OberonPrefs <=
V1.9 als SETTINGS/N/K-Argument ⁿbergeben wird oder aus
ENVARC:OberonPrefs.prefs gelesen wird, ist dies aus KompatibilitΣts-
grⁿnden auch bei neueren OberonPrefs-Versionen die Voreinstellung.
*1*
ToolTypes Ignorieren - falls aktiv ignoriert OberonPrefs eventuell
bestehende Options-ToolTypes in Projekt-Piktogrammen und schreibt
auch keine eigenen ToolTypes. (Programminterne Voreinstellung von
OberonPrefs ab OberonPrefs 1.10)
*1*
ToolTypes L÷schen - falls aktiv l÷scht OberonPrefs eventuell bereits
bestehende Options-ToolTypes in Projekt-Piktogrammen, schreibt jedoch
keine eigenen ToolTypes in die Projekt-Piktogramme zurⁿck.
*1*
Einstellungen Speichern - dieser Menⁿpunkt speichert die im Einstellungen-
Menⁿ von OberonPrefs gemachten Einstellungen ab, so da▀ sie bei jedem
zukⁿnftigen Programmstart von OberonPrefs wieder gesetzt werden. (Das
Kommandozeilen-/ ToolTypes-Argument SETTINGS/N/K ⁿberschreibt diese
Einstellungen)
*1*
*1* : Ist nicht vorhanden, falls eines der Argumente OBERONOUT, OLINKOUT
oder OMAKEOUT beim Programmstart ⁿbergeben wird.
-----------------------------------------
Piktogramm-Ziehen ins OberonPrefs-Fenster
-----------------------------------------
Weiterhin k÷nnen in das OberonPrefs-Fenster Piktogramme gezogen werden.
Die Funtion entspricht dabei der des Datei-Gadgets.
*1*
*1* : Ist nicht vorhanden, falls eines der Argumente OBERONOUT, OLINKOUT
oder OMAKEOUT beim Programmstart ⁿbergeben wird.
Kommandozeilen- / ToolTypes-Argumente:
--------------------------------------
Die Argument-Schablone von OberonPrefs lautet:
FROM,TO=FILE,OBERONOPTS/K,OLINKOPTS/K,EDIT/S,USE=SAVE/S,OBERONOUT/S,
OLINKOUT/S,OMAKEOUT/S,GLOBAL/S,LOCAL/S,PUBSCREEN/K,NOGUI/S,NOSAVEGAD/S,
SETTINGS/N/K,
NoStackChk=S/S,NoOvflChk=V/S,NoRangeChk=B/S,NoCaseChk=C/S,NoReturnChk=R/S,
NoNilChk=N/S,OddChk=O/S,NoTypeChk=T/S,SmallCode=M/S,SmallData=D/S,
NoImplementation/S,NoGarbageCollector=A/S,NoExtensions=E/S,Debug=G/S,
NoClearVars=Z/S,Icons=I/S,NoNewSymbols=Y/S,Small/S,mc68881=8/S,
NoAutoRegPars=P/S,CodeChip/S,DataChip/S,VarsChip/S,mc68030=3/S,
mc68020=2/S,mc68010=1/S
Die Argumente im einzelnen:
FROM - Dateiname des Projektes, dessen Voreinstellungen eingelesen werden
sollen. Es existieren zwei spezielle Namen, sogenannte 'Magics':
Global - liest die globalen Voreinstellungen ein. (Voreinstellung, falls
dieses Argument ausgelassen wird)
Default - liest die programminternen Voreinstellungen des Amiga-Oberon-
Systems ein.
Die Verwendung der Schalter LOCAL/S u./o. USE=SAVE/S bewirkt, da▀ bei
nicht vorhandenem TO=FILE-Argument, und falls das FROM-Argument kein
'Magic' ist, das FROM-Argument als TO=FILE-Argument ⁿbernommen wird.
TO=FILE - Dateiname des Projektes, das bearbeitet werden soll. Die Angabe
dieses Argumentes impliziert den Schalter LOCAL/S, und schlie▀t die
Benutzung des Schalters GLOBAL/S aus.
OBERONOPTS/K,OLINKOPTS/K - siehe weiter unten.
EDIT/S - Schalter, der angibt, da▀ OberonPrefs im interaktiven Modus
arbeiten soll. Da dies die programminterne ('Default') Einstellung
von OberonPrefs ist, kann er immer weggelassen werden. Die Verwendung
von EDIT/S schlie▀t diejenige der Schalter USE=SAVE/S und NOGUI/S
aus.
USE=SAVE/S - Schalter, der angibt, da▀ OberonPrefs die gelesenen
Voreinstellungen speichern soll, ohne die interaktive Benutzer-
schnittstelle zu aktivieren. Schlie▀t die Verwendung von EDIT/S aus,
und setzt voraus, da▀ bei aktivem Projekt-Modus ein existierender
Projektname als TO=FILE-Parameter angegeben ist (der auch vom FROM-
Parameter ⁿbernommen werden kann, s.o.)
OBERONOUT/S
OLINKOUT/S
OMAKEOUT/S - Diese Schalter schlie▀en sich gegenseitig aus, und bewirken,
da▀ OberonPrefs bei ordnungsgemΣsser Beendigung den Kommandozeilen-
Optionsstring mit den Buchstabenoptionen fⁿr Oberon / OLink / OMake
ausgibt. Diese Argumente sind Σu▀erst wichtig fⁿr die Verwendung von
OberonPrefs in Stapelverarbeitungsdateien und ARexx-Skripten.
Die grafische Benutzerschnittstelle von OberonPrefs wird durch diese
Argumente au▀erdem verΣndert:
Es ist nicht mehr m÷glich, den Operations-Modus (Global / Projekt)
zu Σndern, au▀erdem kann kein anderes Projekt als das angegebene
verΣndert werden, und die Einstellm÷glichkeiten im Einstellungen-
Menⁿ sind auf die Menⁿpunkte des Untermenⁿs 'Projekt-Voreinstel-
lungen lesen' beschrΣnkt. Anstelle des 'Abbrechen'-Gadgets
erscheint ein 'Benutzen'-Gadget (Die Funktion des Abbrechen-Gadgets
kann natⁿrlich weiterhin mit dem Schlie▀-Gadget und dem Menⁿpunkt
'Projekt->Beenden' erreicht werden), resp. bei angegebenem NOSAVEGAD/S-
Schalter wird das 'Speichern'-Gadget durch ein 'Benutzen'-Gadget
ersetzt. In diesem Fall kann die Funktion Speichern nicht mehr
erreicht werden.
GLOBAL/S - Dieser Schalter setzt den globalen Operationsmodus
(Voreinstellung von OberonPrefs). Inkompatibel mit den Argumenten
TO=FILE und LOCAL/S.
LOCAL/S - Dieser Schalter setzt den Projekt-Operationsmodus. Inkompatibel
mit GLOBAL/S. Wird automatisch gesetzt bei angegebenem TO=FILE-Argument
oder bei angebenem Nicht-'Magic'-FROM-Argument und angegebenem
USE=SAVE/S-Schalter.
PUBSCREEN/K - Hier kann der Name des ÷ffentlichen Schirms angegeben werden,
auf dem das Fenster der grafischen Benutzerschnittstelle ge÷ffnet werden
soll. Falls der angegebene Schirm nicht existiert, wird auf den System-
Default-Schirm ausgewichen (was die programminterne Voreinstellung von
OberonPrefs ist).
NOGUI/S - Dieser Schalter ist nur sinnvoll bei Verwendung einer der Schalter
OBERONOUT/S, OLINKOUT/S oder OMAKEOUT/S. Er bewirkt, da▀ bei nicht
gesetztem USE=SAVE/S-Schalter die grafische Benutzerschnittstelle trotzdem
nicht ge÷ffnet wird, sondern nur die jeweiligen Voreinstellungen eingelesen
werden und entsprechend dem angegebenen #?OUT/S-Schalters der Optionsstring
ausgegeben wird. Weiterhin ist die Verwendung dieses Schalters immer dann
erlaubt (aber ohne Auswirkung), wenn zugleich der USE=SAVE/S-Schalter
angegeben wird.
NOSAVEGAD/S - Dieser Schalter ist nur bei angegebenm #?OUT/S-Schalter und bei
Verwendung der grafischen Benutzerschnittstelle erlaubt. Seine Auswirkungen
sind in der Dokumentation der #?OUT/S-Schalter beschrieben.
SETTINGS/N/K - Hier wird die Angabe einer gⁿltigen Dezimalzahl erwartet, die
dekodiert gⁿltige Einstellungen im Einstellungen-Menⁿ von OberonPrefs
liefert.
Die gewⁿnschte Zahl kann leicht ermittelt werden, indem man
innerhalb der grafischen Benutzerschnittstelle die Einstellungen auf den
gewⁿnschten Wert Σndert und dann das Informationsfenster mit dem Menⁿ-
punkt Projekt->Information... ÷ffnet. In der letzten Zeile dieses
Fensters ist dann der Code fⁿr die gegenwΣrtigen Einstellungen zu
finden.
*1*
Die restlichen Argumente dienen dazu, einzelne Compiler-/ Linker-Optionen zu
setzen/l÷schen:
OBERONOPTS/K: - erwartet die Angabe eines gⁿltigen Optionsstrings fⁿr
den Oberon-Compiler, bestehend aus einem optionalen '-', gefolgt von den
einzelnen Buchstaben-Optionen.
OLINKOPTS/K: - erwartet die Angabe eines gⁿltigen Optionsstrings fⁿr OLink,
bestehend aus einem optionalen '-', gefolgt von den einzelnen Buchstaben-
Optionen.
NoStackChk=S/S,NoOvflChk=V/S,NoRangeChk=B/S,NoCaseChk=C/S,NoReturnChk=R/S,
NoNilChk=N/S,OddChk=O/S,NoTypeChk=T/S,SmallCode=M/S,SmallData=D/S,
NoImplementation/S,NoGarbageCollector=A/S,NoExtensions=E/S,Debug=G/S,
NoClearVars=Z/S,Icons=I/S,NoNewSymbols=Y/S,Small/S,mc68881=8/S,
NoAutoRegPars=P/S,CodeChip/S,DataChip/S,VarsChip/S,mc68030=3/S,
mc68020=2/S,mc68010=1/S - setzt / l÷scht jeweils eine einzelne Option.
*1* : Ist nicht vorhanden, falls eines der Argumente OBERONOUT, OLINKOUT
oder OMAKEOUT beim Programmstart ⁿbergeben wird.
Benutzerdefinierbare interaktive Argument-Abfrage beim Programmstart:
---------------------------------------------------------------------
OberonPrefs bietet Ihnen beim Workbench-Start in Verbindung mit ToolTypes-
Argumenten die M÷glichkeit, sich einzelne, mehrere oder alle Argumente
durch interaktive Argument-Eingabefenster ('Argument-Requester') zu
beschaffen, falls Sie in Ihrem System die reqtools.library Version 38 oder
h÷her istalliert haben. Dazu mⁿssen Sie fⁿr die Argumente, fⁿr die solche
Eingabe-Fenster erscheinen sollen, gⁿltige ToolType-EintrΣge anlegen, deren
Namen Sie ein 'ASK:' vorstellen mⁿssen. Also etwa 'Ask:Settings=971', o.Σ.
Programmende & Rⁿckgabewerte
----------------------------
Falls OberonPrefs mittels des Speichern-Gadgets, des Benutzen-Gadgets oder
durch die entsprechenden TastaturΣquivalente verlassen wird, terminiert
OberonPrefs mit einem Rⁿckgabewert 0 (OK). Wenn die grafische
Benuzterschnittstelle aufgrund der ⁿbergebenen Argumente nicht ge÷ffnet
wird, und OberonPrefs ordnungsgemΣ▀ terminiert, wird ebenfalls 0
zurⁿckgegeben. Im anderen Fall, falls OberonPrefs durch den
Projekt->Beenden-Menⁿpunkt, durch das Schlie▀gadget, durch Drⁿcken der
ESC-Taste, durch das Cancel-Gadget oder das zugeh÷rige TastaturΣquivalent
beendet wird, liefert es den Rⁿckgabewert 5 (WARN). In allen anderen
FΣllen - wenn also OberonPrefs aufgrund fehlerhafter Argumente oder
aufgrund von fⁿr OberonPrefs ungenⁿgenden System-Ressourcen terminiert,
liefert es den Rⁿckgabewert 20 (FAIL), gibt, wenn nicht einer der Schalter
OBERONOUT/S, OLINKOUT/S oder OMAKEOUT/S spezifiziert wurde, eine
entsprechende Meldung auf dem aktuellen Ausgabekanal aus und lΣ▀t zusΣtlich
den Bildschirm aufflackern, falls es von der Workbench aus gestartet wurde.
Allgemeine Hinweise zum Programm
--------------------------------
Als gⁿltige Projekte werden nur solche Projekte erkannt, deren Namen
auf '.mod' endet und die keine BinΣrdaten enthalten. OberonPrefs hat
aber wie der Amiga-Oberon-Compiler die FΣhigkeit, das '.mod'-Suffix
automatisch an einen spezifizierten Dateinamen anzuhΣngen und
au▀erdem, falls das Oberon-Quelltext-Modul im angegebenen Verzeichnis
nicht gefunden werden konnte, im Unterverzeichnis 'txt' nach ihm zu
suchen.
Durch das Konvertieren von Projekt-Voreinstellungen nach globalen
Voreinstellungen, oder dem Nur-Einlesen der #?.prefs-Voreinstellungs-
dateien bei Projekten gehen m÷gliche CodeChip+, DataChip+, VarsChip+
und Implementation- - Einstellungen verloren, da diese nur in
Oberon-Quelltext-Moduen gespeichert werden k÷nnen.
Eine Bemerkung zum verwendeten ToolTypes-Parsing: Es wird das mΣchtige
ToolTypes-Parsing aus BlackMagic verwendet, das AmigaDOS-ReadArgs()-
Schablonen ersch÷pfend unterstⁿtzt und das geniale 'Argument-Request'
bietet.
----------------------------------------
Vermeiden des VerΣnderns des Quelltextes
d.h. Anlegen/─ndern der OPREFS-Kopfzeile
----------------------------------------
Falls Sie das Schreiben von OPREFS-Kopfzeilen auf Dauer vermeiden wollen,
sollten Sie die Menⁿpunkte
* Einstellungen->Vorgaben-Optionen╖Speichern?
sowie
* Einstellungen->Projekt-Einstellungen╖Schreiben->Stapelbare╖Optionen╖
Als╖Quelltext?
und
* Einstellungen->Projekt-Einstellungen╖Schreiben->Buchstaben-Optionen╖
Schreiben?
deaktivieren und diese Einstellungen mit Hilfe des Menⁿpunktes
* Einstellungen->Einstellungen╖Speichern
fⁿr Ihr System als Voreinstellungen abspeichern.
* Ab OberonPrefs 1.10 entspricht dies den programm- *
* internen Voreinstellungen ('Defaults') von OberonPrefs *
Entwicklungsgeschichte
----------------------
v1.0 [fSchwarz] 28.6.93 First fully functional version
v1.1 [fSchwarz] 4.7.93 Removed stupid bug in argument
processing order: processed SETTINGS after FROM & TO
v1.2 [fSchwarz] 6.7.93 Added display clip sensitivity
when rendering x/y positions, pr.windowPtr redirection
v1.3 [fSchwarz] 6.7.93 Added warning requester for
filenames not ending in '.mod', changed requester code
v1.4 [fSchwarz] 9.7.93 Added 'OberonPrefs failed' msg &
Int.DisplayBeep() in case of failure, Dos.IoErr support
v1.5 [fSchwarz] 16.7.93 Fixed Asl.save-Flag FReq bug
v1.6 [fSchwarz] 17.7.93 Removed ~'.mod' warn requester,
adapted filename handling to Oberon's (add missing
'.mod' suffix, search in 'txt' subdirectory)
v1.7 [fSchwarz] 21.7.93 Adapted to new BlackMagic layout
v1.8 [fSchwarz] 14.8.93 Recompiled with BlackMagic 1.10:
now argument requesters may pop up if wbstarted
v1.9 [fSchwarz] 9.9.93 fixed mc680x0 option management
due to very strange compiler feature: Enabling 68030
instruction generation does NOT imply generation of
68020/68010 instructions, etc.
v1.10 [fSchwarz] 10.9.93 Added user control of Project-
ToolTypes writing via Settings menu; changed default
settings so that usually no source writes are needed.
v1.11 [fSchwarz] 13.9.93 Minor cosmetic code changes,
now works well with a NIL Asl.base, added
complete English docs, corrected German docs, updated
strings.
v1.11a [fSchwarz] 17.9.93 Added Busypointer & window
blocking during writing / reading operations (suggested
by Christian Stiens)
v1.11b [fSchwarz] 18.9.93 now also locked GUI during
ValidateFName() due to packing filesys like XFH, etc.
v1.11c [fSchwarz] 18.9.93 DisplayBeeps if ValidateFName()
fails in interactive mode.
v1.11d [fSchwarz] 20.9.93 Now writes OLink.prefs options
in complete upper case.
v1.11e [fSchwarz] 30.9.93 Now uses smartRefresh window,
adapted to Hartmut Goebel's OS3.0-interface modules,
removed FReq-Hook (due to frequently used braindead
broken ASL-patches)
v2.0 [fSchwarz] 8.10.93 Enhanced window locking with
new BlackMagic1.12. Improved AppWindow icon dropping
feature: Project-FileRequester pops up if the dropped
icon is no valid Oberon source code module. Since no
bugs showed up despite deep, thoroughgoing testing,
debug code defaults to off, all runtime code checks
are disabled, so maximum performance is guaranteed and
minimum code size is ensured. Thus, as this version is
considered to be 'final', major revision count has been
incremented to 2.
Schlu▀bemerkungen
-----------------
Der komplette Quelltext von OberonPrefs1.11d ist auf Amok#95 zu finden.
Bugs (Programmfehler): Zum Zeitpunkt des Verfassens dieser Dokumentation
sind dem Autor keinerlei Fehlfunktionen dieses Programms bekannt. Bei dem
Umfang dieses Programms ist jedoch der eine oder andere Bug grundsΣtzlich
nicht auszuschlie▀en!
OberonPrefs ist Giftware. Das hei▀t, ich ermuntere Sie, mir, falls Sie
sich fⁿr das Programm begeistern k÷nnen, als Anerkennung ein kleines
Geschenk, eine Spende, eine nette Postkarte, o.Σ. zukommen zu lassen.
Auch jedwede Kritik, ─nderungsvorschlΣge, natⁿrlich Bugreports
(Fehlerberichte), etc. sind herzlich willkommen.
Falls Sie die deutsche Dokumentation in andere Sprachen ⁿbersetzen, oder
Katalog-Dateien fⁿr andere Sprachen als Deutsch erstellen, so k÷nnen Sie
diese gerne diesem Archiv hinzufⁿgen und mir zusenden. Vielen Dank!
OberonPrefs ist urheberrechtlich geschⁿtzt. Copyright ⌐ 1993 Franz Schwarz.
Der Autor haftet fⁿr keinerlei SchΣden, die unmittelbar oder mittelbar, vom
Gebrauch dieses Programms herrⁿhren.
OberonPrefs ist frei kopierbar; es darf auf der Amok-Serie und auf anderen
nicht-kommerziellen Disketten-Serien vertrieben werden, inklusive
CD-ROM-Versionen derselben, ebenfalls darf es auf dem Weg der
elektronischen Datenⁿbertragung verbreitet werden.
OberonPrefs darf nur in diesem Archiv komplett verbreitet werden.
Weiterhin darf es nur verbreitet werden, falls der Vertreiber kein
Urheberrecht auf das Archiv noch auf Dateien, die zwangsweise mit ihm
ⁿbertragen werden, erhebt. Anfragen auf Ausnahmen von diesen
BeschrΣnkungen k÷nnen an den Autor gerichtet werden.
Sie erreichen mich folgenderma▀en:
----------------------------------
Franz Schwarz
Mⁿhlenstra▀e 2, D-78591 Durchhausen,
BR Deutschland
Uucp: Franz_Schwarz@mil.ka.sub.org
Fido: 2:2476/506.18 & 2:241/7506.18
Kto. 951.207 bei BLZ 643 500 70 KSK Trossingen
Credits, Danksagungen
---------------------
Die grafische Benutzerschnittstelle wurde erstellt mit Hilfe von
GadToolsBox 37.176 by Jan van der Baard und Kai Bolay (Oberon source
generator). Ohne GadToolsBox hΣtte es wohl OberonPrefs nie gegeben.
Einen galaktischen Donnergurgler-Toast auf die beiden;-)
Die CygnusEd-Skripte benutzen Kai Bolay's oberonsupport.library, und
Teile der Skripte stammen ebenfalls aus seiner Feder.
Die reqtools.library, von der OberonPrefs Nutzen ziehen kann, wurde
geschrieben von und ist urheberrechtlich geschⁿtzt durch Nico Franτois,
jedoch frei vertreibbar, falls genau dies in der programmbegleitenden
Dokumentation erwΣhnt wird.
Viel Spa▀!
Franz 'Blacky' Schwarz.
Die CygnusEd - ARexx - Skripte
------------------------------
Die CygnusEd-ARexx-Skripte erm÷glichen eine komfortable Steuerung des
Amiga-Oberon-Systems von CygnusEd Professional aus. Die folgende
Kurzanleitung geht davon aus, dass die beiliegende Funktionstasten-
belegung in CyngusEd aktiviert ist.
F1 - Compile: Ruft den Compiler auf. Falls das Modul verΣndert wurde
und noch nicht gespeichert ist, wird es vor dem Complieren gespeichert.
Zeigt den ersten Fehler an, falls Fehler beim Compilieren auftraten.
F2 - Link: Ruft den Linker auf.
F3 - Make: Ruft OMake auf. Falls das Modul verΣndert wurde und noch nicht
gespeichert ist, wird es vor dem Aufruf von OMake gespeichert.
Compile, Link, als auch Make verwenden dabei folgende Compiler-/ Linker-
Optionen: falls von einem Aufruf von 'F7 - Change Temporary Options' her
gⁿltige temporΣre Einstellungen existieren, werden diese verwendet.
Ansonsten werden die Optionen von OberonPrefs mit aktiviertem
'Einstellungen->Projekt-Einstellungen Lesen->Modul & Prefs' und
'Einstellungen->Projekt-Einstellungen Lesen->Prefs: Global Lesen M÷glich?'
eingelesen.
F4 - First Error: Springt zum ersten Fehler
F5 - Next Error : Springt zum nΣchsten Fehler vom Cursor aus gesehen.
F6 - Prev. Error: Springt zum vorhergehenden Fehler vom Cursor aus gesehen.
F7 - Change Temporary Options: Setze / l÷sche temporΣre Optionen fⁿr ein
Modul. Falls das Modul verΣndert wurde und noch nicht gespeichert ist,
wird es vor dem Aufruf von OberonPrefs gespeichert.
F8 - Change Options: UnbeschrΣnktes Manipulieren von Optionen beliebiger
Projekte und der globalen Optionen mit OberonPrefs. Falls der gegenwΣrtig
edierte Text ein Oberon-Quelltext-Modul ist, das verΣndert wurde und noch
nicht gespeichert ist, wird es vor dem Aufruf von OberonPrefs gespeichert.
Wenn sie die Optionen des gegenwΣrtig edierten Moduls geΣndert und
gespeichert haben, sollten Sie das Modul mit dem CygnusEd-Menⁿpunkt
Project->Open... nach Beendigung von OberonPrefs neu einlesen.
Falls Sie die ARexx-Skripte regelmΣ▀ig verwenden, ist dringend zu
empfehlen, OberonPrefs mit 'Resident OBERON:OberonPrefs' resident in den
Speicher zu laden.
Fⁿr weitere Infos ⁿber die Rexx-Steuerung genⁿgt ein Blick auf die
ARexx-Skripte.
Bye,
Franz 'Blacky' Schwarz
- Girlfriend Is Better - Talking Heads -